草庐IT

http - 从 Telnet 发送 http GET 命令

全部标签

ruby - 如何通过 http 使用 Ruby 访问 URL 并读取输出?

到目前为止,我已经能够将它们拼接在一起:)beginopen("http://www.somemain.com/"+path+"/"+blah)rescueOpenURI::HTTPError@failure+=painting.permalinkelse@success+=painting.permalinkend但是我如何读取我要调用的服务的输出呢? 最佳答案 Open-URI扩展了open,因此您将获得一种返回的IO流:open('http://www.example.com')#=>#你必须阅读它才能获得内容:open('h

ruby - 安装 pry 后找不到命令

我在bash提示符下使用以下行安装了pry和相关的gem:geminstallpry-plus--no-ri--no-rdoc该命令报告了成功的gem安装。我发现的所有说明都说,在安装pry之后,我可以通过输入pry作为bash命令来获得pry提示。然而,实际结果是bash:pry:commandnotfoundwhichpry报告nopryin(...)其中省略号是$PATH。相比之下,whichrake报告/local/tbh/rbenv/shims/rake和whichgem报告/local/tbh/rbenv/垫片/gem为什么geminstall没有创建pry命令?我怎样才能

ruby-on-rails - Rails - 如何发送包含在另一个表单中的表单?

我的观点是这样的结构:......@user%>......渲染部分从部分加载数据-有一个表单。表单字段已成功加载(如输入、提交输入、单选按钮等),但是当我查看生成的HTML时,呈现的表单中缺少和结束标记。这意味着当我从呈现的表单中单击提交按钮时,这个呈现的表单不会发送出去,而是发送“大”for-simple_form_for.如何使呈现的表单可发送?谢谢 最佳答案 简单地说,您不能有两个单独的嵌套表单。您可以使用accepts_nested_attributes_for嵌套关联表单-这取决于后端模型的结构,我将在下面详细说明。--

ruby - 停止 ruby​​ http 请求修改 header 名称

我正在用ruby​​做一个http请求:http=Net::HTTP.new(uri.host,uri.port)req=Net::HTTP::Post.new(uri.path)req.body=payloadreq['customeheader']='xxxxxxxxx'http.set_debug_output$stdout我打开了调试,当请求被发布时,我可以看到标题被发布为:Customheader:xxxxxxxxx有没有办法阻止这个,我发布到的第三方服务器给出了一个错误,因为header名称不正确-它期待customheader: 最佳答案

ruby - 在 shell 命令失败时引发异常?

我正在用Ruby编写一些脚本,我需要通过shell命令与一些非Ruby代码交互。我知道至少有6differentways从Ruby执行shell命令,不幸的是,当shell命令失败时,这些似乎都不会停止执行。基本上,我正在寻找的东西相当于:set-oerrexit...在Bash脚本中。理想情况下,该解决方案会在命令失败时引发异常(即通过检查非零返回值),可能会使用stderr作为消息。这写起来并不难,但似乎应该已经存在了。有没有我找不到的选项? 最佳答案 Ruby2.6addsanexception:argument:system

ruby-on-rails - 无法连接到 chromedriver http://127.0.0.1:9515 (Selenium::WebDriver::Error::WebDriverError)

我已经从http://chromedriver.storage.googleapis.com/index.html安装了chrome-driver|而且我还安装了Google-chrome浏览器。我想使用chrome浏览器而不是Firefox浏览器运行cucumber测试用例,但我遇到了这个错误。任何帮助表示赞赏。谢谢 最佳答案 我遇到这个问题是因为rbenvshim覆盖了路径。值得检查whichchromedriver指向的位置。对我来说,解决方法是:gemuninstallchromedriver-helper和brewinst

ruby - 我可以在 irb 中重复命令吗?

有没有一种简单的方法可以在Rubyirb中重复之前的命令?我希望有类似在Unix中使用感叹号(!)的东西。谢谢。 最佳答案 defrepeat_last_irbeval(IRB.CurrentContext.io.line(-2))end然后您可以在irb控制台中使用replat_last_irb来运行最后的输入。IRB.CurrentContext.io如下所示:ruby-1.9.3-p0:001>defhelloruby-1.9.3-p0:002?>end=>nilruby-1.9.3-p0:003>IRB.CurrentCon

ruby - 获取 Ruby Net::HTTP POST 的上传进度

我一直在搜索net/http代码,但还没有找到解决方案。我需要执行一个多部分POST请求,我已经弄清楚了,但是在上传中定期注入(inject)一个回调真的很好,这样我就可以增加一个进度条。有谁知道一种方法可以让代码执行HTTPpost期间发送的每X个字节? 最佳答案 看起来您没有使用Rails,但我认为最简单的方法是从客户端进行。在浏览器设置中,您可以使用Flash(SWFUpload)或仅使用新的XMLHttpRequest内容向新浏览器提供进度条(上传在旧浏览器中仍然有效...只是没有进度条)。它的工作原理与您描述的略有不同,但

ruby-on-rails - redirect_to 自定义 http header

在我当前的项目中,在为http基本身份验证重定向时需要设置自定义httpheader变量。我可以为自定义header指示redirect_to吗?谢谢。 最佳答案 Rails允许您在重定向时添加自定义header。在Railsguides中进行了讨论.10.2.1SettingCustomHeadersIfyouwanttosetcustomheadersforaresponsethenresponse.headersistheplacetodoit.Theheadersattributeisahashwhichmapsheader

ruby - Faye 在使用 https rails app 和 http faye app 时不工作

我有Rails应用程序,并使用apache和unicorn部署在AWSEC2中。在此应用程序中,我将faye用于消息传递模块。它在http应用程序中运行良好,但在将https(ssl)用于Web应用程序和将http用于Faye应用程序时,Faye无法正常工作。在这种情况下,我们真的需要两个应用程序(网络应用程序和faye应用程序)都使用https吗?请告诉我。错误:页面位于https://xxxx.xxxx已通过HTTPS加载,但请求了不安全的脚本“http://xxxxxx:9292/faye.js” 最佳答案 是的,您应该通过H